Concurrent Object-Oriented Programs: From Specification to Code
نویسنده
چکیده
In this paper we put forward a concurrent object-oriented programming language in which concurrency is tightly integrated with objects. Concurrency is expressed by extending classes with actions and allowing methods to be guarded. Concurrency in an object may be hidden to the outside, thus allowing concurrency to be introduced in subclasses of a class hierarchy. A disciplined form of intra-object concurrency is supported. The language is formally defined by translation to action systems. Inheritance and subtyping is also considered. A theory of class refinement is presented, allowing concurrent programs to be developed from sequential specifications. Our goal is to have direct rules for verification and refinement on one hand and a practical implementation on the other hand. We briefly sketch our implementation. While the implementation relies on threads, the management of threads is hidden to the programmer.
منابع مشابه
Linking Event-B and Concurrent Object-Oriented Programs
The Event-B method is a formal approach to modelling systems, using refinement. Initial specification is done at a high level of abstraction; detail is added in refinement steps as the development proceeds toward implementation. In software systems that use concurrent processing it is necessary to provide details of concurrent features before implementation. Our contribution is to show how Even...
متن کاملAn Approach for Computing Dynamic Slice of Concurrent Aspect-Oriented Programs
We propose a dynamic slicing algorithm to compute the slice of concurrent aspect-oriented programs. We use a dependence based intermediate program representation called Concurrent Aspect-oriented System Dependence Graph (CASDG) to represent a concurrent aspect-oriented program. The CASDG of an aspect-oriented program consists of a system dependence graph (SDG) for the non-aspect code, a group o...
متن کاملA Compositional Approach to Concurrent Object-Oriented Programming
This paper presents a model of concurrent objectoriented programming in which specification of computational behavior is separated from specification of interaction behavior of methods. It will be shown that this compositional approach to concurrent programming avoids some of the conceptual difficulties that have plagued the integration of concurrency and object-oriented models of programs. The...
متن کاملDeclarative Concurrent Object-oriented Programming in Tempo++
This paper presents Tempo++, a high-level programming language designed for concurrent object-oriented applications. It is based on a new programming model combining logic programming, constraint solving and object-oriented programming in a uniform framework. Tempo++ is an object-oriented extension to the declarative concurrent programming language Tempo Gregory and Ramirez 95]. It includes ext...
متن کاملProducing Network Applications Using Object-Oriented Petri Nets
The programming language Java has become and extremely popular language; many people are writing concurrent systems using Java. The design and implementation of concurrent Java programs is significantly more complex than sequential programs and the use formal method is seen as extremely beneficial for the design and implementation of such systems. The Petri net formalism [Petri 1962] can be use...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002